#ifndef _NEPTUNER_METHOD_H_
#define _NEPTUNER_METHOD_H_

#include<string>
#include<vector>
#include "Argument.h"
#include "Return.h"
#include "Complexity.h"

class Method
{
public:
	std::string				    m_sName;
	int							m_nDefinePoint;
	Complexity				    m_xComplexity;
	Return					    m_xReturn;
	std::vector<Argument>	    m_axArguments;

	std::vector<std::string>    m_asFunctionCall;
	std::vector<signed int>		m_anFunctionCallPoint;
	//TODO: Merge into CallPoint or something like that, parallel array is stupid

	std::vector<std::string>	m_asDataUse;
	std::vector<signed int>		m_anDataUsePoint;
	//TODO: Merge into CallPoint or something like that, parallel array is stupid


	Method(void)
    {
        m_sName="";
		m_nDefinePoint=0;
    }

	~Method(void)
    {
    }
};

#endif
